package hotLeetcode;

public class H24Leetcode {

    /**
     * 模拟
     * @param head
     * @return
     */
    public ListNode swapPairs(ListNode head) {
        ListNode dummy = new ListNode(-1,head);
        ListNode cur = dummy;
        while (cur.next != null && cur.next.next != null) {
            ListNode first = cur.next;
            ListNode second = cur.next.next;
            cur.next = second;
            first.next = second.next;
            second.next = first;

            cur = first;
        }


        return dummy.next;


    }


    //递归方法
//    public ListNode swapPairs2(ListNode head) {
//        if (head.next == null && head.next.next == null) {
//            return
//        }
//
//
//    }



    public class ListNode {
        int val;
        ListNode next;

        ListNode() {
        }

        ListNode(int val) {
            this.val = val;
        }

        ListNode(int val, ListNode next) {
            this.val = val;
            this.next = next;
        }
    }
}
